"use client"; import { StartOverlay, StartCard, SongTitleText, SongArtistText, StartBtn, OpacityControl, OpacityLabel, OpacitySlider, OpacityValue, PreviewWrap, PreviewBtn, PreviewHint, } from "../page.styles"; interface PreGameViewProps { isReady: boolean; loadingLrc: boolean; songTitle: string; songArtist: string; audioUrl: string; isVideo: boolean; audioVolume: number; setAudioVolume: (v: number) => void; backgroundOpacity: number; setBackgroundOpacity: (v: number) => void; isPreviewPlaying: boolean; onStart: () => void; onPreviewToggle: () => void; } export default function PreGameView({ isReady, loadingLrc, songTitle, songArtist, audioUrl, isVideo, audioVolume, setAudioVolume, backgroundOpacity, setBackgroundOpacity, isPreviewPlaying, onStart, onPreviewToggle, }: PreGameViewProps) { return ( {!isReady ? ( <> Loading... Please wait while we load the chart ) : ( <> {loadingLrc ? "Loading..." : songTitle} {songArtist} )} {loadingLrc ? "Loading song..." : "▶ Start Game"} Volume {audioVolume}% setAudioVolume(Number(e.target.value))} /> {isVideo && ( Background opacity {backgroundOpacity}% setBackgroundOpacity(Number(e.target.value))} /> )} {isPreviewPlaying ? "⏸ Pause Preview" : "▶ Preview Audio"} {audioUrl ? "Use preview to test your volume before starting." : "Load a chart to enable audio preview."} ); }